37 research outputs found
A Survey on Load Balancing Algorithms for VM Placement in Cloud Computing
The emergence of cloud computing based on virtualization technologies brings
huge opportunities to host virtual resource at low cost without the need of
owning any infrastructure. Virtualization technologies enable users to acquire,
configure and be charged on pay-per-use basis. However, Cloud data centers
mostly comprise heterogeneous commodity servers hosting multiple virtual
machines (VMs) with potential various specifications and fluctuating resource
usages, which may cause imbalanced resource utilization within servers that may
lead to performance degradation and service level agreements (SLAs) violations.
To achieve efficient scheduling, these challenges should be addressed and
solved by using load balancing strategies, which have been proved to be NP-hard
problem. From multiple perspectives, this work identifies the challenges and
analyzes existing algorithms for allocating VMs to PMs in infrastructure
Clouds, especially focuses on load balancing. A detailed classification
targeting load balancing algorithms for VM placement in cloud data centers is
investigated and the surveyed algorithms are classified according to the
classification. The goal of this paper is to provide a comprehensive and
comparative understanding of existing literature and aid researchers by
providing an insight for potential future enhancements.Comment: 22 Pages, 4 Figures, 4 Tables, in pres
ChainsFormer: A Chain Latency-aware Resource Provisioning Approach for Microservices Cluster
The trend towards transitioning from monolithic applications to microservices
has been widely embraced in modern distributed systems and applications. This
shift has resulted in the creation of lightweight, fine-grained, and
self-contained microservices. Multiple microservices can be linked together via
calls and inter-dependencies to form complex functions. One of the challenges
in managing microservices is provisioning the optimal amount of resources for
microservices in the chain to ensure application performance while improving
resource usage efficiency. This paper presents ChainsFormer, a framework that
analyzes microservice inter-dependencies to identify critical chains and nodes,
and provision resources based on reinforcement learning. To analyze chains,
ChainsFormer utilizes light-weight machine learning techniques to address the
dynamic nature of microservice chains and workloads. For resource provisioning,
a reinforcement learning approach is used that combines vertical and horizontal
scaling to determine the amount of allocated resources and the number of
replicates. We evaluate the effectiveness of ChainsFormer using realistic
applications and traces on a real testbed based on Kubernetes. Our experimental
results demonstrate that ChainsFormer can reduce response time by up to 26% and
improve processed requests per second by 8% compared with state-of-the-art
techniques.Comment: 15 page